package tptecnicas.logging.filters;

import java.util.ArrayList;
import java.util.List;
import tptecnicas.logging.MessageInfo;

/**
 * Clase Chainer responsable a delegar el trabajo de 
 * filtrado a todos los filtros configurados.
 */
public class FiltersManager {

	private List<Filter> filters;

	public FiltersManager() {
		this.filters = new ArrayList<>();
	}

	public void addFilter(Filter filter) {
		this.filters.add(filter);
	}

	public boolean shouldBeFiltered(MessageInfo message) {
		for (Filter filter : filters) {
			if (filter.shouldBeFiltered(message)) {
				return true;
			}
		}
		return false;
	}

}
